-- 闭包学习
----闭包
---含义：闭包是函数中函数，可以包含父函数的局部变量的代码块；
-- 可以让这些局部变量的值始终保持在内存中。
---用处：它最大用处有两个，一个是可以读取函数内部
--变量，另一个就是让这些变量的值始终保存在内存中。

print("load finish")
function myItor( a )
	local index = a
	function nex(  )
		index = index+1
		print(index)
	end
	return nex
end

function myItor2( a )
	local tab = a 

	print(a)
end

----迭代器
function tableItor( tab )
	if tab == nil or table.maxn(tab)==0 then
		error("this tab  is nil , please insert data")
	end
	local index = 0
	local count = table.maxn(tab)
	function next()
		index = index+1
		if index<=count then
		return index,tab[index]
		end
		-- return "table index indexof"
	end
	return next
end



